#ifndef POINT_H
#define POINT_H

#include <QString>
#include <QList>
#include "geocoordinates.h"
#include "constants.h"

// Класс для хранения точки маршрута.

class Point
{
private:
    unsigned long id;
    QString name;
    GeoCoordinates coord;
    QList <QString> fileList;
public:
    Point(void);
    Point(const QString&, const unsigned long&, const GeoCoordinates&);
    Point(const QString&, const unsigned long& = 0, const double& = 0, const double& = 0);
    ~Point();
    void ClearPoint(void);
    bool SetName(const QString&);
    QString GetName(void) const;
    void SetID(const unsigned long&);
    unsigned long GetID(void) const;
    void SetCoordinates(const double&, const double&);
    void SetCoordinates(const GeoCoordinates&);
    GeoCoordinates GetCoordinates(void) const;
    unsigned long GetFileCount(void) const;
    QString GetFileName(const int& = 0) const;
    QList <QString> GetFileList(void) const;
    bool AddFile(const QString&);
    void DeleteFile(const int& = 0);
};

#endif // POINT_H
